package com.wclass.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableLogic;
import com.baomidou.mybatisplus.annotations.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 公告管理
 * </p>
 *
 * @author SEN
 * @since 2018-12-27
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("base_notice")
@SuppressWarnings("serial")
public class BaseNotice extends SuperEntity<BaseNotice> {



    /**
     * 通知类型，1：学生接收，2：老师接收，3：系统，全部接收，4：定向发送接收
     */
    @ApiModelProperty("类型 1 学生 2老师 3平台")
    private Integer type;
    /**
     * 主题
     */
    @ApiModelProperty("主题")
    private String title;
    /**
     * 内容
     */
    @ApiModelProperty("内容")
    private String content;

    /**
     * 阅读数
     */
    @ApiModelProperty("阅读数")
    @TableField("read_num")
    private Integer readNum;


    @ApiModelProperty("是否删除 0：有效，1：删除")
    @JSONField(serialize = false)
    @TableLogic
    private Integer state = 0;

    @ApiModelProperty("作者")
    private String author;

    @ApiModelProperty("已读人员ids")
    @TableField("read_users")
    private String readUsers;

    @ApiModelProperty("已读状态，0：未读，1：已读")
    @TableField(exist = false)
    private Integer readState;

    @ApiModelProperty("发送人员，0：官方，其他userId")
    @TableField("from_user_id")
    private Long fromUserId;

    @ApiModelProperty("发送人员名称")
    @TableField(exist = false)
    private String fromUserName;

    @ApiModelProperty("定向接收人员")
    @TableField("to_user_id")
    private Long toUserId;

    @ApiModelProperty("定向消息类型，1：发送机构、团队加入邀请，2：回复机构、团队加入邀请")
    @TableField("msg_type")
    private Integer msgType;

    @ApiModelProperty("回复状态，0：未回复，1：已回复")
    @TableField("reply_state")
    private Integer replyState;

}
